package cn.demoncat.util.web.entity;

import cn.demoncat.util.lang.JsonUtil;
import cn.demoncat.util.lang.ReflectMethodUtil;

import java.lang.reflect.Method;

/**
 * 异步操作异常日志消息(AsyncExceptionHandler拦截异常消息)
 * 
 * @author 延晓磊
 *
 * @since 2019年10月21日
 */
public class AsyncExceptionLog {

	private static final String DEFAULT_MSG = "异步操作异常";
	
	// 异常消息
	private String msg;
	// 方法
	private String method;
	// 参数
	private Object[] params;
	
	/**
	 * 创建实例并转换为JSON串
	 * 
	 * @param method
	 * @param params
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2019年10月21日
	 */
	public static String toString(Method method, Object... params) {
		AsyncExceptionLog log = new AsyncExceptionLog();
		log.setMsg(DEFAULT_MSG);
		log.setMethod(ReflectMethodUtil.toString(method));
		log.setParams(params);
		return JsonUtil.toStr(log);
	}
	
	
	public String getMethod() {
		return method;
	}
	public void setMethod(String method) {
		this.method = method;
	}
	public Object[] getParams() {
		return params;
	}
	public void setParams(Object[] params) {
		this.params = params;
	}
	public String getMsg() {
		return msg;
	}
	public void setMsg(String msg) {
		this.msg = msg;
	}
	
}
